/**
 * 实现祝福墙功能
 */
;$(function () {
    //模拟数据库，获取信息
    var messages = [{
            "id": 1,
            "name": "mahu",
            "content": "今天你拿苹果支付了么",
        },
        {
            "id": 2,
            "name": "haha",
            "content": "今天天气不错，风和日丽的",
        },
        {
            "id": 3,
            "name": "jjjj",
            "content": "常要说的事儿是乐生于苦",
        },
        {
            "id": 4,
            "name": "9.8的妹纸",
            "content": "把朋友家厕所拉堵了 不敢出去 掏了半小时了都",
        },
        {
            "id": 5,
            "name": "雷锋ii.",
            "content": "元宵节快乐",
        },
        {
            "id": 6,
            "name": "哎呦哥哥.",
            "content": "据说今晚央视的元宵晚会导演和春晚导演是同一个人，真是躲得过初一，躲不过十五。",
        },
        {
            "id": 7,
            "name": "没猴哥，不春晚",
            "content": "班主任:“小明，你都十二岁了，还是三年级，不觉得羞愧吗”？。小明:“一点也不觉得，老师你都四十多岁了，不也是年年在三年级混日子吗？羞愧的应该是你”。老师:……",
        },
        {
            "id": 8,
            "name": "哎呦杰杰.",
            "content": "真搞不懂你们地球人，月亮有什么好看的，全是坑，还是对面那哥们好看，",
        },
        {
            "id": 9,
            "name": "哎呦哎呦",
            "content": "今天哪里的烟花最好看！！？答：朋友圈。。。",
        }
    ];

    
    var index = 1;
    //获取相关元素
    var wishWall = document.getElementById("wishWall");

    //循环生成div标签，然后为innerHTML属性添加内容
    for (var i = 0; i < messages.length; i++) {
        //生成新标签
        var newDiv = document.createElement("div");
        //绑定类名和ID
        newDiv.className = "tip1";
        newDiv.id = "tip" + messages[i].id;
        //改变位置
        var topValue = parseInt(Math.random() * 400);
        var leftValue = parseInt(Math.random() * 700);
        newDiv.style.top = topValue + "px";
        newDiv.style.left = leftValue + "px";
        newDiv.style.zIndex = 1;
        //赋值内容
        newDiv.innerHTML = '<div class="tip_h" title="双击关闭纸条">' +
                '<div class="clr"></div>' +
                '</div>' +
                '<div class="tip_c">' +
                messages[i].content +
                '</div>' +
                '<div class="tip_f">' +
                '<div class="icon">' +
                '<img src="./images/wish/bpic_1.gif" alt="" title="">' +
                '</div>' +
                '<div class="name">' + messages[i].name + '</div>' +
                '<div class="clr"></div>' +
            '</div>';
        //把新创建的元素放入content里面
        wishWall.appendChild(newDiv);

        //绑定事件，提高层级
        newDiv.onclick = fn;

        //双击关闭按钮类名叫做tip_h
        var dbDiv = newDiv.getElementsByClassName("tip_h")[0];
        dbDiv.ondblclick = function () {
            //不能用newDiv，因为在页面加载的时候newDiv，已经变成最后一个了，当你点击的时候，用远关闭的是最后的那个div。
            //                content.removeChild(newDiv);
            wishWall.removeChild(this.parentNode);
        }
    }

    // 实现简单的拖拽功能
    $(".tip1").mousedown(function (event) {
        var $_this = $(this);
        $_this[0].style.zIndex = index ++;
        //获取鼠标按下的时候左侧偏移量和上侧偏移量
        var old_left = event.pageX;//左侧偏移量
        var old_top = event.pageY;//竖直偏移量

        //获取鼠标的位置
        var old_position_left = $_this.position().left;
        var old_position_top = $_this.position().top;

        //鼠标移动
        $(document).mousemove(function (event) {
            var new_left = event.pageX;//新的鼠标左侧偏移量
            var new_top = event.pageY;//新的鼠标竖直方向上的偏移量

            //计算发生改变的偏移量是多少
            var chang_x = new_left - old_left;
            var change_y = new_top - old_top;

            //计算出现在的位置是多少
            var new_position_left = old_position_left + chang_x;
            var new_position_top = old_position_top + change_y;
            //加上边界限制
            if(new_position_top<0){//当上边的偏移量小于0的时候，就是上边的临界点，就让新的位置为0
                new_position_top=0;
            }
            //如果向下的偏移量大于文档对象的高度减去自身的高度，就让它等于这个高度
            if(new_position_top>$(document).height()-$_this.height()){
                new_position_top=$(document).height()-$_this.height();
            }

            $_this.css({
                left: new_position_left + 'px',
                top: new_position_top + 'px'
            })
        });
       
        $(document).mouseup(function (){
            $(document).off("mousemove");
        });
    });

    

    function fn() {
        this.style.zIndex = index;
        index++;
    }
});